home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 22 / AACD 22.iso / AACD / System / ps2m / ps2m.readme < prev    next >
Encoding:
Text File  |  2001-04-09  |  7.0 KB  |  172 lines

  1. Short:    Ultimate Amiga PS/2 WheelMouseController
  2. Author:   rdc@mindless.com
  3. Uploader: rdc@mindless.com
  4. Version:  1.2
  5. Type:     hard/hack
  6.  
  7. Amiga PS/2 Wheel Mouse Controller - new version:
  8.  
  9. - more compatible firmware, for example it supports Dexxa mice
  10. - more advanced WBM utility:
  11.   - added qualifiers for scrolling direction change
  12.   - added reverse of concrete wheel direction
  13.  
  14.  
  15. Advantages of this controller:
  16.  
  17. - full open source under GPL
  18.   (General Public License, text of license included)
  19. - linear movement interpolation: mouse movements will be
  20.   ideal smooth at any screen frame rates
  21. - MMB (Middle Mouse Button) support
  22. - detection of Amiga mouse counters overrun
  23.   (127 pixels per frame for DblPAL 48Hz)
  24. - full Plug'n'Play support:
  25.   hotswap - you can change mouse "on the fly"
  26. - mouse hangs detection: controller checks mouse every
  27.   2 seconds and will reset it if mouse doesn't reply
  28. - support of popular Microsoft Intellimouse wheel protocol
  29.   (for example, Genius NetScroll)
  30. - fully compatible with Amiga NewMouse wheel standard
  31. - fully compatible with WheelBusMouse software
  32. - you can simultaneously use mouse & 2 joysticks
  33. - no "calibration" requirements
  34. - wheel works in any screen mode
  35. - horizontal scrolling even on one-wheel mouse
  36. - most advanced Amiga PS/2 mouse controller :-)
  37.  
  38.  
  39. More detailed info:
  40.  
  41. - detection of Amiga mouse counters overrun:
  42.  
  43.   Amiga has only one-byte signed counters for mouse, and AmigaOS
  44.   checks them only one time per vblank.  This means that mouse may
  45.   move only 127*VBlankFreq pixels per second (6096 pixels per
  46.   second for default DblPAL).  If this value was overran, AmigaOS
  47.   can't detect true movement of mouse and pointer will disorderly
  48.   jump.  For correct this, my PS/2 controller limits movement to
  49.   maximum 6000 pixels per second.  If mouse moves faster, movement
  50.   will be remembered and executed at 6000 pixels per second.
  51.  
  52.   Slower movements will be always executed at real speed.
  53.  
  54. - linear movement interpolation:
  55.  
  56.   As we know, RS-232C (aka "COM") mice at PeeCee are extremely
  57.   poor quality - mouse pointer with them doesn't move, it jumps.
  58.   It is because generic 3-button RS-232C mouse reports about
  59.   movement only 25 times per second.  PS/2 mice work better - all
  60.   of them can report about state 80 times per second, and most of
  61.   them (excluding 5-button mice) can report 200 times per second.
  62.   But it is not an ideal because refresh rate of mouse (for
  63.   example, 80fps of Genius NetScroll Optical) interferes with
  64.   similar refresh rate (for example, 72Hz of Super72).  For correct
  65.   this, my controller moves "virtual Amiga mouse" smoothly.  If
  66.   user moves PS/2 mouse at 500 pixels per second, Amiga will get
  67.   from my PS/2 controller true 500 counts per second, with true
  68.   2-milliseconds intervals - you can get oscilliscope and check it.
  69.  
  70.   Most another PeeCee-mouse-controllers don't have similar feature,
  71.   and move "virtual Amiga mouse" by "count packets" after every
  72.   byte packet from PeeCee-mouse.  For example, if user moves 
  73.   RS-232C mouse at 500 pixels per second, and mouse sends 25
  74.   reports per second, Amiga will get 25 packets of 20 fast (some
  75.   microsecond between counts) counts per second, with approx.40
  76.   milliseconds interval between packets.  If user has 75Hz screen
  77.   refresh rate, mouse pointer will update only every three vblank,
  78.   and jumps of pointer (in comparison with ideally smooth Amiga
  79.   mouse) will only incline user to suicide using mouse cord :-)
  80.  
  81.   My PS/2 controller is free from this bug.  Theoretically I can do
  82.   even smooth RS-232C mouse controller, but is it nonsense because
  83.   of RS-232C mice death.  Modern optical mice already don't have
  84.   RS-232C versions, but there is no modern mice without PS/2 version.
  85.  
  86. - mouse hangs detection:
  87.  
  88.   Some Chinese mice are very cheap and very unstable.  Integrated
  89.   to mouse controller can hang and even don't response to reset
  90.   command.  These mice on PeeCee require reconnect (and sometimes
  91.   reboot because of not-PnP initial nature of PeeCee).  My
  92.   controller in case of 2-seconds silence (user doesn't touch
  93.   mouse) asks mouse about state.  If mouse doesn't respond,
  94.   controller will automatically take away power souce for some
  95.   time.
  96.  
  97. - full Plug'n'Play support:
  98.  
  99.   Because of previous feature, controller will detect mouse
  100.   replacement.  Unlike PeeCee, wheel function (or it's absence)
  101.   will be detected automatically.  You don't need to replace
  102.   drivers if you change mouse "on the fly" :)
  103.  
  104. - support of popular Microsoft Intellimouse wheel protocol
  105.  
  106.   Microsoft (for this paragraph it is a company name, not an abuse)
  107.   instead of it's normal practice to hide all details, published
  108.   protocol of wheel mouse.  It has two "layers": protocol of wheel
  109.   mouse, and protocol of 5-button wheel mouse.  There are many
  110.   Microsoft Intellimouse compatible devices (for example, Genius
  111.   NetScroll Optical), and all of them will work with wheel at my
  112.   controller.  Unfortunately, protocol of my Genius mouse differs
  113.   from Microsoft 5-button protocol, and I don't support 5 buttons
  114.   yet.
  115.  
  116.   I don't have info about Intellimouse compatibility of other
  117.   devices.  Don't ask me.
  118.  
  119. - fully compatible with Amiga NewMouse wheel standard
  120.  
  121.   Amiga NewMouse standard describes an internal AmigaOS protocol
  122.   for wheel mice.  There are some NewMouse-compatible sofware,
  123.   MUIWheel and Directory Opus Magellan for example.  All this
  124.   software will work with my PS/2 controller.
  125.  
  126. - fully compatible with WheelBusMouse software
  127.  
  128.   WheelBusMouse is a software driver early released by me, that
  129.   allows to use any wheel mouse without controller (but you must
  130.   alter the mouse).  My PS/2 controller is fully electrically
  131.   compatible with WBM package.  This means that you can install
  132.   WBM driver and use altered wheel mouse instead of soldering
  133.   PS/2 controller.  Or you even can connect second mouse and use
  134.   it as a scroller :-)
  135.  
  136. - you can simultaneously use mouse & 2 joysticks
  137.  
  138.   You can use joystick(s) in parallel with mouse: pressing "Fire"
  139.   of any joystick will disable mouse function on this port.
  140.  
  141.   If you press "Fire" on Joy1 (wheel function) - wheel will be
  142.   reseted to initial phase (don't touch wheel during game).
  143.  
  144.   If you press "Fire" on Joy2 (mouse port) - mouse will be disabled
  145.   at all.  For protect against probable mouse movement, mouse will
  146.   be enabled only after any mouse button pressing.
  147.  
  148. - no "calibration" requirements
  149.  
  150.   My controller doesn't use analog inputs and doesn't require
  151.   calibration (like Mroocheck interface from Elbox).
  152.  
  153. - wheel works in any screen mode
  154.  
  155.   Wheel works in any screen mode - you can simultaneously use
  156.   wheeled applications on PAL, DblPAL, Super72 or any other
  157.   screens (unlike Mroocheck with horizontal rate setting).
  158.  
  159. - horizontal scrolling even on one-wheel mouse
  160.  
  161.   You can switch vertical scrolling to horizontal by qualifier
  162.   pressing - like MMB in Mroocheck, but you can select any
  163.   qualifier key or joystick/mouse button.  For example - I use
  164.   left ALT.
  165.  
  166. - most advanced Amiga PS/2 mouse controller.
  167.  
  168.   Do you doubt in this yet? :) ;) =)
  169.  
  170.  
  171. All instructions included.  Have fun!
  172.